home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO050.dsk / LP.bas < prev    next >
BASIC Source File  |  2012-02-16  |  7KB  |  188 lines

  1. 10  GOSUB 62000
  2. 15 D$ =  CHR$(4)
  3. 20  PRINT D$;"PR#3"
  4. 2200  REM  READ TIME
  5. 2205  IF FC = 1  THEN TM$ = "": RETURN 
  6. 2210  PRINT D$;"IN#4": PRINT D$;"PR#4"
  7. 2220  INPUT ":";CK$
  8. 2230  PRINT D$;"IN#0": PRINT D$;"PR#0"
  9. 2240  PRINT D$;"PR#3"
  10. 2260 TM$ =  MID$ (CK$,12,2) +":" + MID$ (CK$,15,2)
  11. 2270 X$ =  LEFT$(TM$,2):X =  VAL( MID$ (CK$,12,2))
  12. 2280  IF X <12  THEN TM$ = TM$ +"  A.M.": RETURN 
  13. 2290  IF X <13  THEN TM$ = TM$ +"  P.M.": RETURN 
  14. 2300 X = X -12:X$ =  STR$(X):TM$ = X$ + RIGHT$(TM$,3) +"  P.M."
  15. 2310  RETURN 
  16. 10000  REM  PRINT CHECKS
  17. 10010 V = 3: HOME 
  18. 10020  VTAB 1: PRINT "TR#";
  19. 10030  HTAB 6: PRINT "DATE";
  20. 10040  HTAB 16: PRINT "CK#";
  21. 10050  HTAB 22: PRINT "PAY TO:";
  22. 10060  HTAB 48: PRINT "P";
  23. 10070  HTAB 51: PRINT "AMOUNT";
  24. 10080  HTAB 61: PRINT "CAT";
  25. 10090  HTAB 70: PRINT "MEMO"
  26. 10100  VTAB 2: PRINT "-------------------------------------------------------------------------------"
  27. 10110  POKE 34,2
  28. 10120 M = 0
  29. 10130  FOR I = M TO 19 +M
  30. 10140  IF TN%(I) = WT% -1  THEN F = 1
  31. 10145  IF TN%(I) = 0  THEN F = 2
  32. 10150 TN% = TN%(I):DT$ = DT$(I):CN$ = CN$(I):PY$ = PY$(I):AMT$ = AMT$(I):CTG$ = CTG$(I):MEM$ = MEM$(I)
  33. 10160  VTAB V: PRINT TN%;
  34. 10170  HTAB 6: PRINT DT$;
  35. 10180  HTAB 16: PRINT CN$;
  36. 10190  HTAB 22: PRINT  LEFT$(PY$,26);
  37. 10195  HTAB 48: PRINT P$(I);
  38. 10200 AMT =  VAL(AMT$): IF AMT <0  THEN AMT =  -1 *AMT
  39. 10210 J = AMT *100:Z$ =  STR$( INT(J +.01)): IF  LEN(Z$) = 1  THEN Z$ = "0" +Z$
  40. 10220 Y =  LEN(Z$) -2
  41. 10230  IF Y <0  THEN Z$ = AMT$
  42. 10240  IF Y < = 0  THEN Y = 1
  43. 10250 H = 56 -Y
  44. 10260  HTAB H: PRINT  INT(AMT +.001);"."; RIGHT$(Z$,2);
  45. 10270  HTAB 61: PRINT CTG$;
  46. 10280  HTAB 70: PRINT  LEFT$(MEM$,10)
  47. 10290 V = V +1: IF V = 24  THEN V = 23
  48. 10295  IF F = 1  OR F = 2  THEN 10320
  49. 10310  NEXT 
  50. 10320 VB = V -1: IF F = 2  THEN 12100
  51. 10330  VTAB V
  52. 10340  PRINT "------------------------------------------------------------------------------"
  53. 10350  HTAB 6: VTAB 24: PRINT "PLACE A <P> ON THOSE CHECKS YOU WISH TO PRINT, OR GOTO <N>EXT FIELD";
  54. 10360 V = 3:H = 48
  55. 10370  HTAB 48: VTAB 3:I = M
  56. 10380  GET X$
  57. 10390  IF X$ = "N"  OR X$ = "n"  THEN 12000
  58. 10400  IF X$ =  CHR$(11)  THEN 10480
  59. 10410  IF X$ =  CHR$(10)  THEN 10500
  60. 10415  IF CN$(I) = "*"  THEN X$ =  CHR$(13): GOTO 10430
  61. 10420  IF X$ = "P"  OR X$ = "p"  THEN P$(I) = "P": HTAB 48: VTAB V: PRINT "P";: GOTO 10450
  62. 10430  IF X$ =  CHR$(13)  OR X$ =  CHR$(32)  THEN P$(I) = " ": HTAB 48: VTAB V: PRINT " ";: GOTO 10450
  63. 10440  IF X$ < >"P"  THEN  HTAB H: GOTO 10380
  64. 10450  IF V = VB  THEN  HTAB H: GOTO 10380
  65. 10460 V = V +1:I = I +1
  66. 10470  HTAB H: VTAB V: GOTO 10380
  67. 10480  IF V = 3  THEN 10380
  68. 10490 V = V -1:I = I -1: GOTO 10470
  69. 10500  IF V = VB  THEN 10380
  70. 10510 V = V +1:I = I +1: GOTO 10470
  71. 12000  REM  NEXT GROUP
  72. 12010  HTAB 79: VTAB 2: CALL  -958
  73. 12020 M = M +20
  74. 12030  IF F = 1  THEN 12100
  75. 12040  PRINT :V = 3: GOTO 10130
  76. 12100 M = 0:F = 0: POKE 34,0
  77. 13000  HOME 
  78. 13020  HTAB 1: VTAB 5: PRINT "WOULD YOU LIKE TO <P>RINT CHECKS, <R>EDO YOUR CHOICES, OR GO TO <M>AIN MENU?"
  79. 13030  HTAB 40: VTAB 7: GET X$
  80. 13040  IF X$ = "P"  OR X$ = "p"  THEN 15000
  81. 13050  IF X$ = "R"  OR X$ = "r"  THEN 10000
  82. 13060  IF X$ = "M"  OR X$ = "m"  THEN 32000
  83. 13070  IF X$ < >"m"  THEN 13000
  84. 15000  REM  PRINT CHECKS
  85. 15010  PRINT D$;"PR#1"
  86. 15050  FOR I = 0 TO 59
  87. 15060  IF TN%(I) = WT% -1  THEN F = 1
  88. 15070  IF P$(I) < >"P"  THEN 15255
  89. 15080  PRINT : PRINT 
  90. 15090  HTAB 55: PRINT DT$(I);
  91. 15100 AMT =  VAL(AMT$(I)): IF AMT <0  THEN AMT =  -1 *AMT
  92. 15110 J = AMT *100:Z$ =  STR$( INT(J +.01)): IF  LEN(Z$) = 1  THEN Z$ = "0" +Z$
  93. 15120 A$ =  STR$( INT(AMT +.001))
  94. 15130  IF  LEN(A$) = 6  THEN A$ =  LEFT$(A$,3) +"," + RIGHT$(A$,3)
  95. 15140  IF  LEN(A$) = 5  THEN A$ =  LEFT$(A$,2) +"," + RIGHT$(A$,3)
  96. 15150  IF  LEN(A$) = 4  THEN A$ =  LEFT$(A$,1) +"," + RIGHT$(A$,3)
  97. 15155 HA = 76 - LEN(A$)
  98. 15160  HTAB HA: PRINT "$";A$;"."; RIGHT$(Z$,2)
  99. 15170  PRINT 
  100. 15180  HTAB 7: PRINT "*****";A$;"** DOLLARS AND "; RIGHT$(Z$,2);" CENTS"
  101. 15190  PRINT 
  102. 15200  PRINT 
  103. 15210  HTAB 10: PRINT PY$(I)
  104. 15220  HTAB 10: PRINT AAD$(I)
  105. 15230  HTAB 10: PRINT BAD$(I);: HTAB 54: PRINT ACT$(I)
  106. 15240  HTAB 10: PRINT CAD$(I)
  107. 15250  PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT 
  108. 15255  IF F = 1  THEN F = 0: GOTO 15270
  109. 15260  NEXT I
  110. 15270  PRINT D$;"PR#0
  111. 16000  GOTO 32000
  112. 20000  REM  LIST CURRENT TRANSACTIONS
  113. 20010  HOME 
  114. 20020  HTAB 25: VTAB 10: PRINT "DISPLAY DATA ON <S>CREEN OR <P>RINTER"
  115. 20030  HTAB 40: VTAB 12: GET X$
  116. 20040  IF X$ = "S"  OR X$ = "s"  THEN PF = 0: GOTO 21000
  117. 20050  IF X$ = "P"  OR X$ = "p"  THEN PF = 1: GOTO 21000
  118. 20060  IF X$ < >"P"  THEN 20000
  119. 21000  REM  LIST CURRENT TRANSACTIONS
  120. 21005  IF PF = 1  THEN  PRINT D$;"PR#1"
  121. 21010 V = 3: HOME 
  122. 21020  VTAB 1: PRINT "TR#";
  123. 21030  HTAB 6: PRINT "DATE";
  124. 21040  HTAB 16: PRINT "CK#";
  125. 21050  HTAB 22: PRINT "PAY TO:";
  126. 21060  HTAB 48: PRINT "P";
  127. 21070  HTAB 51: PRINT "AMOUNT";
  128. 21080  HTAB 61: PRINT "CAT";
  129. 21090  HTAB 70: PRINT "MEMO"
  130. 21100  VTAB 2: PRINT "-------------------------------------------------------------------------------"
  131. 21110  POKE 34,2
  132. 21120 M = 0
  133. 21130  FOR I = M TO 19 +M
  134. 21140  IF TN%(I) = WT% -1  THEN F = 1
  135. 21145  IF TN%(I) = 0  THEN F = 2
  136. 21150 TN% = TN%(I):DT$ = DT$(I):CN$ = CN$(I):PY$ = PY$(I):AMT$ = AMT$(I):CTG$ = CTG$(I):MEM$ = MEM$(I)
  137. 21160  VTAB V: PRINT TN%;
  138. 21170  HTAB 6: PRINT DT$;
  139. 21180  HTAB 16: PRINT CN$;
  140. 21190  HTAB 22: PRINT  LEFT$(PY$,26);
  141. 21200  HTAB 48: PRINT P$(I);
  142. 21210 AMT =  VAL(AMT$): IF AMT <0  THEN AMT =  -1 *AMT
  143. 21220 J = AMT *100:Z$ =  STR$( INT(J +.01)): IF  LEN(Z$) = 1  THEN Z$ = "0" +Z$
  144. 21230 Y =  LEN(Z$) -2
  145. 21240  IF Y <0  THEN Z$ = AMT$
  146. 21250  IF Y < = 0  THEN Y = 1
  147. 21260 H = 56 -Y
  148. 21270  HTAB H: PRINT  INT(AMT +.001);"."; RIGHT$(Z$,2);
  149. 21290  HTAB 61: PRINT CTG$;
  150. 21300  HTAB 70: PRINT  LEFT$(MEM$,10)
  151. 21310 V = V +1: IF V = 24  THEN V = 23
  152. 21320  IF F = 1  OR F = 2  THEN 21340
  153. 21330  NEXT 
  154. 21340 VB = V -1: IF F = 2  THEN 22100
  155. 21350  VTAB V
  156. 21360  IF PF = 1  THEN  PRINT D$;"PR#0"
  157. 21365  PRINT "------------------------------------------------------------------------------"
  158. 21370  HTAB 26: VTAB 24: PRINT "PRESS <ANY KEY> TO CONTINUE";
  159. 21380  GET X$
  160. 22000  REM  NEXT GROUP
  161. 22010  HTAB 79: VTAB 2: CALL  -958
  162. 22020 M = M +20
  163. 22030  IF F = 1  THEN 22100
  164. 22040  PRINT :V = 3: IF PF = 1  THEN  PRINT D$;"PR#1"
  165. 22050  GOTO 21130
  166. 22100 M = 0:F = 0:PF = 0: POKE 34,0
  167. 23000  HOME 
  168. 23020  HTAB 4: VTAB 5: PRINT "WOULD YOU LIKE TO <S>EE AGAIN, GO TO <M>AIN MENU, OR GO TO <R>EPORTS?"
  169. 23030  HTAB 40: VTAB 7: GET X$
  170. 23040  IF X$ = "R"  OR X$ = "r"  THEN 34000
  171. 23050  IF X$ = "S"  OR X$ = "s"  THEN 20000
  172. 23060  IF X$ = "M"  OR X$ = "m"  THEN 32000
  173. 23070  IF X$ < >"m"  THEN 23000
  174. 32000  PRINT D$;"CHAIN /RAM/CW,@4005"
  175. 34000  PRINT D$;"CHAIN /RAM/RPT,@4000"
  176. 60000  END 
  177. 62000  REM  INPUT ANYTHING
  178. 62010  LET IN$ = "X"
  179. 62020  FOR J = 768 TO 790
  180. 62030  READ I
  181. 62040  POKE J,I
  182. 62050  NEXT J
  183. 62060  DATA  162,0,32,117,253,160,2,138,145,105,200,169,0,145,105,200,169,2,145,105,76,57,213
  184. 62070  RETURN 
  185. 63000  REM  CALL ANYTHING
  186. 63010  CALL 768
  187. 63020 IN$ =  MID$ (IN$,1)
  188. 63030  RETURN